Businesses, residences, and other enterprises have come to rely on computing systems to access, generate and manage their key files, documents, and other operational data. Often, the data itself is many times more valuable to an enterprise or individual than the computing hardware that stores the data. Accordingly, in this information age, many enterprises and individuals have taken precautions to protect their data.
One way of protecting data is to introduce storage redundancy. For example, a primary computing system maintains and operates upon the active data. Meanwhile, a backup computing system maintains a copy of the data. This may be accomplished by periodically taking a snapshot of the active data as that active data existed at the time of the snapshot, and by providing the snapshot copy of the protected data to a backup location on a periodic basis. For instance, snapshot-based backups often are configured to occur on a daily basis, though more or less frequent backup periods are also common. Should the active data be lost, the most recent backup copy of the data may be restored, thereby recovering the active data as the active data existed at the time of the last backup.
In some instances, however, it may be highly undesirable to lose all of the changes to the data that occurred since the time of the last snapshot backup. In such cases, Continuous Data Protection CDP may be more desirable. In CDP-based backup systems, an initial copy of the live data to be protected is captured and transferred to a backup medium. All subsequent writes to the live data are then time-stamped and journaled to the backup medium after each write operation. For instance, whenever a write operation occurs, the time, content, and target location of the write operation are documented in a data structure, which is then provided to the backup medium.
Whether snapshot-based or CDP-based, backup systems are often employed to save various versions of files. Even outside of the backup environment, various file versions may be stored locally. When identifying a desired version of a file for later access, the user is typically left to use the version identification mechanism assigned by the system. A typical system-assigned versioning mechanism may simply assign a version number to the document. The version number would begin with “version 1” for the first saved version, and would simply be incremented by one for each subsequent version of the file. This mechanism is effective in allowing each saved version of a file to be uniquely identified.
However, identifying a file by its version number is not always intuitive for a user, particularly if there are a large number of file versions. For instance, if a user desires to access the version of the file in which the term “patent” was first added to a word processing document file, the user is left to try to remember what version number corresponds to the time when the term “patent” was added. The user might not recollect whether it was version 132, 133, or whether it was some other version number. The user may be left to search through and even read portions of the various versions of the file, until the correct file version is found. This can be quite time-consuming for the user,